Parallel Attribute Grammar Evaluation
نویسندگان
چکیده
This paper reports on experiments with parallel compila tion of programming languages In order to take advantage of the potential parallelism we express the language trans lation process as an attribute grammar evaluation problem We see three primary bene ts to using attribute grammars First since attribute grammars provide a functional speci cation of the language translation process they are easily amenable to parallel implementation with relatively little synchronization overhead Second as a high level speci cation of the language they allow parallel translators to be produced automatically relieving the compiler writer from the burden of dealing with parallelism Third they provide a basis for a wide variety of language translation problems ranging from traditional programming language compila tion to more ambitious problems such as proof checking text formatting etc We study the e ciency and the potential for parallelism of various attribute grammar evaluation methods and we present the design of a combined evaluator which seeks to combine the potential for concurrency of dynamic eval uators and the sequential e ciency of static evaluators We have used our methods to generate a parallel compiler for a large Pascal subset Measurements on a network multiprocessor consisting of up to SUN workstations connected by an Ethernet network indicate that the par allel compiler outperforms its sequential counterpart by a factor of up to with sequential compilation times and quality of produced code comparable to commonly avail able compilers
منابع مشابه
Parallel Evaluation of LR–Attributed Grammars
In this paper, we present a novel approach to the parallel implementation of one–pass compilers. Based on attribute grammars, it combines the well–known LR parsing technique for the underlying context–free grammar with the parallel evaluation of attribution rules. In order to integrate syntactic and semantic analysis, the LR parsing stack is enriched by additional information, resulting in a so...
متن کاملA hardware multi-pass attribute grammar evaluator
Attribute grammars (AGs) were introduced by Knuth in 1968. The addition of attributes and semantic rules to Context Free Grammars (CFG), augmented their expressional capabilities, making them, by this way, a really useful tool for a considerable number of applications. However, the additional complexity imposed by the added characteristics, dictates the need for hardware solutions for the whole...
متن کاملMarch 1999 { Second Workshop on Attribute Grammars and Their Applications { Waga99 a Nest Partitioning Algorithm for Attribute Grammars
The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute instances in diierent regions are independent of one other. The advantages of partitioning the attribute dependence graph include simplifying the attribute grammar conceptually and allowing the possibility of parallel evaluation. We present a static partitioning algorithm for attribute grammars. ...
متن کاملTowards Distributed Memory Parallel Program Analysis
This paper presents a parallel attribute evaluation for distributed memory parallel computer architectures where previously only shared memory parallel support for this technique has been developed. Attribute evaluation is a part of how attribute grammars are used for program analysis within modern compilers. Within this work, we have extended ROSE, a open compiler infrastructure, with a distri...
متن کاملA finest partitioning algorithm for attribute grammars
The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute instances in dierent regions are independent of one other. The advantages of partitioning the attribute dependence graph include simplifying the attribute grammar conceptually and allowing the possibility of parallel evaluation. We present a static partitioning algorithm for attribute grammars. ...
متن کامل